package cn.net.asiacom.entity;

import java.math.BigDecimal;

/**
 * 新版全电发票实体类
 */
public class NewInvoice {
 
    /**
     * 文件绝对路径
     */
    private String fileAbsolutePath;

    /**
     * 发票标题
     */
    private String title;
    /**
     * 发票号码
     */
    private String number;
 
    /**
     * 开票日期
     */
    private String date;
 
    /**
     * 销售方名称
     */
    private String sellerName;

    /**
     * 销售方纳税人识别号
     */
    private String sellerCode;
 
    /**
     * 合计金额
     */
    private BigDecimal amount;
 
    /**
     * 合计税额
     */
    private BigDecimal taxAmount;
    /**
     * 价税合计大写字符串
     */
    private String totalAmountString;
    /**
     * 价税合计金额
     */
    private BigDecimal totalAmount;

    /**
     * 收款人
     */
    private String payee;

    /**
     * 复核人
     */
    private String reviewer;
    /**
     * 开票人
     */
    private String drawer;
    /**
     * 发票类型
     */
    private String type;
    /**
     * 购买方名称
     */
    private String buyerName;

    /**
     * 购买方纳税人识别号
     */
    private String buyerCode;
 
    /**
     * 获取文件绝对路径
     * @return 文件绝对路径
     */
    public String getFileAbsolutePath() {
        return fileAbsolutePath;
    }
 
    /**
     * 设置文件绝对路径
     * @param fileAbsolutePath 文件绝对路径
     */
    public void setFileAbsolutePath(String fileAbsolutePath) {
        this.fileAbsolutePath = fileAbsolutePath;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取发票号码
     * @return 发票号码
     */
    public String getNumber() {
        return number;
    }
 
    /**
     * 设置发票号码
     * @param number 发票号码
     */
    public void setNumber(String number) {
        this.number = number;
    }
 
    /**
     * 获取日期
     * @return 日期
     */
    public String getDate() {
        return date;
    }
 
    /**
     * 设置日期
     * @param date 日期
     */
    public void setDate(String date) {
        this.date = date;
    }
 
    /**
     * 获取金额
     * @return 金额
     */
    public BigDecimal getAmount() {
        return amount;
    }
 
    /**
     * 设置金额
     * @param amount 金额
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }
 
    /**
     * 获取税额
     * @return 税额
     */
    public BigDecimal getTaxAmount() {
        return taxAmount;
    }
 
    /**
     * 设置税额
     * @param taxAmount 税额
     */
    public void setTaxAmount(BigDecimal taxAmount) {
        this.taxAmount = taxAmount;
    }

    /**
     * 获取价税合计（大写）
     * @return 价税合计（大写）
     */
    public String getTotalAmountString() {
        return totalAmountString;
    }
    /**
     * 设置价税合计（大写）
     * @param totalAmountString 价税合计（大写）
     */
    public void setTotalAmountString(String totalAmountString) {
        this.totalAmountString = totalAmountString;
    }

    /**
     * 获取价税合计
     * @return 价税合计
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }
 
    /**
     * 设置价税合计
     * @param totalAmount 价税合计
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }
 
    /**
     * 获取销售方名称
     * @return 销售方名称
     */
    public String getSellerName() {
        return sellerName;
    }
    /**
     * 设置销售方名称
     * @param sellerName 销售方名称
     */
    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    /**
     * 获取销售方发票代码
     * @return 销售方发票代码
     */
    public String getSellerCode() {
        return sellerCode;
    }
    /**
     * 设置销售方发票代码
     * @param sellerCode 销售方发票代码
     */
    public void setSellerCode(String sellerCode) {
        this.sellerCode = sellerCode;
    }

    /**
     * 获取收款人信息。
     * @return 收款人信息
     */
    public String getPayee() {
        return payee;
    }
    /**
     * 设置收款人信息。
     * @param payee 要设置的收款人信息
     */
    public void setPayee(String payee) {
        this.payee = payee;
    }

    /**
     * 获取复核人信息。
     * @return 复核人信息
     */
    public String getReviewer() {
        return reviewer;
    }

    /**
     * 设置复核人信息。
     * @param reviewer 要设置的复核人信息
     */
    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    /**
     * 获取开票人信息。
     * @return 开票人信息
     */
    public String getDrawer() {
        return drawer;
    }
    /**
     * 设置开票人信息。
     * @param drawer 要设置的开票人信息
     */
    public void setDrawer(String drawer) {
        this.drawer = drawer;
    }

    /**
     * 获取发票类型。
     * @return 发票类型
     */
    public String getType() {
        return type;
    }
    /**
     * 设置发票类型。
     * @param type 要设置的发票类型
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 获取购买方名称
     * @return 购买方名称
     */
    public String getBuyerName() {
        return buyerName;
    }
    /**
     * 设置购买方名称
     * @param buyerName 购买方名称
     */
    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    /**
     * 获取购买方发票代码
     * @return 购买方发票代码
     */
    public String getBuyerCode() {
        return buyerCode;
    }
    /**
     * 设置购买方发票代码
     * @param buyerCode 购买方发票代码
     */
    public void setBuyerCode(String buyerCode) {
        this.buyerCode = buyerCode;
    }

    @Override
    public String toString() {
        return "NewInvoice{" +
                "title='" + title + '\'' +
                ", number='" + number + '\'' +
                ", date='" + date + '\'' +
                ", sellerName='" + sellerName + '\'' +
                ", sellerCode='" + sellerCode + '\'' +
                ", amount=" + amount +
                ", taxAmount=" + taxAmount +
                ", totalAmountString='" + totalAmountString + '\'' +
                ", totalAmount=" + totalAmount +
                ", payee='" + payee + '\'' +
                ", reviewer='" + reviewer + '\'' +
                ", drawer='" + drawer + '\'' +
                ", type='" + type + '\'' +
                ", buyerName='" + buyerName + '\'' +
                ", buyerCode='" + buyerCode + '\'' +
                '}';
    }
}